#!/usr/bin/env python
# encoding: utf-8
"""
@author: youfeng
@email: youfeng243@163.com
@license: Apache Licence
@file: table_name_manage.py
@time: 2018/1/5 11:50
"""


# 存储表管理
class TableManage(object):
    # 种子表模板, 企业名称与搜索的省份关联
    SEED_TABLE_TEMPLATE = 'new_{}_company_list'

    # 参数表模板
    PARAM_TABLE_TEMPLATE = 'new_{}_search_list'

    # 年报参数模板 年报抓取入口种子表
    ANNUAL_TABLE_TEMPLATE = 'new_{}_annual_list'

    # 搜索列表页模板
    SEARCH_PAGE_TABLE_TEMPLATE = 'new_{}_search_page'

    # 详情页表模板
    DETAIL_PAGE_TABLE_TEMPLATE = 'new_{}_detail_page'

    # 获得种子表名称
    @staticmethod
    def get_seed_table(province):
        return TableManage.SEED_TABLE_TEMPLATE.format(province)

    # 获得参数表名称
    @staticmethod
    def get_param_table(province):
        return TableManage.PARAM_TABLE_TEMPLATE.format(province)

    # 获得年报信息表
    @staticmethod
    def get_annual_table(province):
        # {
        #     # 年报关键ID
        #     '_id': anCheId,
        #     # 解析出来的企业名称
        #     'company': parse_comany,
        #     'year': 2014,
        #     # 企业类型，不是必要的但需要保存
        #     'ent_type': 18,
        #     # 年报类型，不是必要的但需要保存
        #     'annual_type': 'e',
        #     # 通过 ent_type 与 annual_type 计算出来的
        #     'base_href': xxx,
        #     # 通过 ent_type 与 annual_type 计算出来的
        #     'index_href': xxxx,
        #     '_in_time': xxx
        #     'crawl_status': 0, 1, 2,
        # 'crawl_status_time': '2018-01-23',
        # }

        return TableManage.ANNUAL_TABLE_TEMPLATE.format(province)

    # 获得搜索网页存储表名称
    @staticmethod
    def get_search_page_table(province):
        return TableManage.SEARCH_PAGE_TABLE_TEMPLATE.format(province)

    # 获得详情页存储表
    @staticmethod
    def get_detail_page_table(province):
        return TableManage.DETAIL_PAGE_TABLE_TEMPLATE.format(province)
